package class101To110;

import java.io.*;
import java.util.Arrays;

public class StringHash {

    public static int MAXN = 10005;
    public static long base = 499;
    public static long[] nums = new long[MAXN];
    public static int n;


    public static long value(char[] str) {
        long res = v(str[0]);
        for (int i = 1; i < str.length; i++) {
            res = res * base + v(str[i]);
        }
        return res;
    }

    public static long v(char c) {
        if (c >= '0' && c <= '9') {
            return c - '0' + 1;
        } else if (c >= 'a' && c <= 'z') {
            return c - 'a' + 11;
        } else {
            return c - 'A' + 37;
        }
    }

    public static int cnt() {
        int ans = 1;
        Arrays.sort(nums, 0, n);
        for (int i = 1; i < n; i++) {
            if (nums[i] != nums[i - 1]) ans++;
        }
        return ans;
    }

    public static void main(String[] args) throws IOException {
        BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
        PrintWriter out = new PrintWriter(new OutputStreamWriter(System.out));
        n = Integer.valueOf(in.readLine());
        for (int i = 0; i < n; i++) {
            nums[i] = value(in.readLine().toCharArray());
        }
        out.println(cnt());
        out.flush();
        out.close();
        in.close();
    }
}
